﻿//---------------------------------------------------------------------------------
// Copyright 2011 Microsoft Corporation
// Licensed under the Microsoft Public License (MS-PL) (the "License"); 
// You may not use this file except in compliance with the License. 
// You may obtain a copy of the License at http://www.opensource.org/licenses/ms-pl.html
// THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR 
// CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, 
// INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR 
// CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 
// MERCHANTABLITY OR NON-INFRINGEMENT. 
// See the Microsoft Public License (MS-PL) for the specific language governing 
// permissions and limitations under the License.
//---------------------------------------------------------------------------------
namespace Microsoft.Telco.WindowsLive
{
    public class Presence
    {

        /// <summary>
        /// Gets or sets the presence status.
        /// </summary>
        /// <value>The presence status (Available, Busy, Away, Offline)</value>
        public Status PresenceStatus{ get; set; }

        /// <summary>
        /// Gets or sets the status text.
        /// </summary>
        /// <value>The status text for the user in the presence.</value>
        public string StatusText { get; set; }

        /// <summary>
        /// Gets or sets the Id of the user for presence.
        /// </summary>
        /// <value>The ID that was passed into the API call.</value>
        public string Id { get; set; }

        /// <summary>
        /// Gets or sets the display name of the user for presence.
        /// </summary>
        /// <value>The Windows Live Messenger display name of the user. This value can be empty string</value>
        public string DisplayName { get; set; }

        /// <summary>
        /// Gets or sets the status icon details for the user for presence.
        /// </summary>
        /// <value>References an icon representing the user’s status. Icon object</value>
        public Icon StatusIcon { get; set; }

        /// <summary>
        /// Gets or sets a result representing the status of the request.
        /// </summary>
        /// <value>Result object</value>
        public Result RequestStatus { get; set; }

    }

}
